/**
 * 
 */
package com.ynet.middleground.riskmanage.service;

import java.util.List;

import javax.validation.Valid;

import com.ynet.core.common.ServiceResult;
import com.ynet.middleground.riskmanage.bean.DgCargoControlQueryReq;
import com.ynet.middleground.riskmanage.bean.DgCargoInYardQueryReq;
import com.ynet.middleground.riskmanage.bean.DgCustomsReleaseReq;
import com.ynet.middleground.riskmanage.bean.DgShipCycleQueryReq;
import com.ynet.middleground.riskmanage.bean.DgYardCargoQueryReq;
import com.ynet.middleground.riskmanage.bean.MasterGoodsTypeQueryReqPager;
import com.ynet.middleground.riskmanage.dto.DgCargoControlDTO;
import com.ynet.middleground.riskmanage.dto.DgCargoInYardDTO;
import com.ynet.middleground.riskmanage.dto.DgCustomsReleaseDTO;
import com.ynet.middleground.riskmanage.dto.DgShipCycleDTO;
import com.ynet.middleground.riskmanage.dto.DgYardCargoDTO;
import com.ynet.middleground.riskmanage.dto.MasterGoodsTypeDTO;
import com.ynet.middleground.riskmanage.dto.rizhaogang.RzgCustomsReleaseDTO;

/**
 * @ClassName DaGangService
 * @Description 对接大港服务
 * @Author songyf
 * @Date 2020/8/18 10:53
 * @Version 1.0
 */
public interface DaGangService {

    /**
     * @author songyf
     * @Description 货种信息查询
     * @Date 2020-08-18 14:36
     * @Param MasterGoodsTypeQueryReqPager
     * @return MasterGoodsTypeDTO
     **/
    ServiceResult<List<MasterGoodsTypeDTO>> getMasterGoodsType(@Valid MasterGoodsTypeQueryReqPager req);

    /**
     * @author songyf
     * @Description 船期信息查询
     * @Date 2020-08-19 14:36
     * @Param DgShipCycleQueryReq
     * @return DgShipCycleDTO
     **/
    ServiceResult<List<DgShipCycleDTO>> getShipCycle(@Valid DgShipCycleQueryReq req);

    /**
     * @author songyf
     * @Description 海关放行信息查询;
     * 此接口已经作废，合并到日照港-海关放行信息查询接口；2020-10-27 lwq;
     * @Date 2020-08-19 17:36
     * @Param DgShipCycleQueryReq
     * @return DgShipCycleDTO
     **/
    /*ServiceResult<List<RzgCustomsReleaseDTO>> getCustomsRelease(@Valid DgCustomsReleaseReq req);*/

    /**
     * @author songyf
     * @Description 港存信息查询
     * @Date 2020-08-19 20:36
     * @Param DgYardCargoQueryReq
     * @return DgYardCargoDTO
     **/
    ServiceResult<DgYardCargoDTO> getYardCargo(@Valid DgYardCargoQueryReq req);

    /**
     * @author songyf
     * @Description 历史业务量信息查询
     * @Date 2020-08-20 10:36
     * @Param DgCargoInYardQueryReq
     * @return DgCargoInYardDTO
     **/
    ServiceResult<List<DgCargoInYardDTO>> getCargoInYard(@Valid DgCargoInYardQueryReq req);

    /**
     * @author songyf
     * @Description 质押监管情况查询
     * @Date 2020-08-20 15:00
     * @Param DgCargoControlQueryReq
     * @return DgCargoControlDTO
     **/
    ServiceResult<DgCargoControlDTO> getCargoControl(@Valid DgCargoControlQueryReq req);

}
